package com.smart.campus.interfaces;

import com.smart.campus.dto.SysUser;
import com.smart.campus.pojo.PagedResponse;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

public interface SysUserServiceApi {
    @RequestMapping(value = "sysUser/findUserList")
    public List<SysUser> findUserList(@RequestBody SysUser sysUser);

    @RequestMapping(value = "sysUser/pageUser")
    public PagedResponse<SysUser> pageUser(@RequestBody SysUser sysUser,@RequestParam(value = "pageNum")Integer pageNum,@RequestParam(value = "pageSize")Integer pageSize);

    @RequestMapping(value = "sysUser/addUser")
    public void addUser(@RequestBody SysUser sysUser);

    @RequestMapping(value = "sysUser/delUser")
    public void delUser(@RequestParam(value = "userId")Long userId);

    @RequestMapping(value = "sysUser/findUserById")
    public SysUser findUserById(@RequestParam(value = "userId")Long userId);

    @RequestMapping(value = "sysUser/updateUser")
    public void updateUser(@RequestBody SysUser sysUser);

    @RequestMapping(value = "findSysUserByUserName")
    SysUser findSysUserByUserName(@RequestParam(value = "username") String username);

    /**
     * 联查
     */
    @RequestMapping(value = "findAll")
    public PagedResponse<SysUser> findAll(@RequestBody SysUser sysUser,@RequestParam(value = "pageNum")Integer pageNum,@RequestParam(value = "pageSize")Integer pageSize);

    /**
     * @description: 获取教育部门下所有教师信息
     * @author: JinBao shan
     * @date: 2024/9/29 15:22
     * @param: []
     * @return: 教育部门下所有教师信息
     **/
    @RequestMapping(value = "sysUser/getTeachersList")
    public List<SysUser> getTeachersList();


    @RequestMapping(value = "updateStatus")
    public void updateStatus(@RequestBody SysUser sysUser);

    /**
     * @description: 查看 部门/角色 更多人员详情信息
     * @author: JinBao shan
     * @date: 2024/9/29 17:09
     * @param: [sysUser]
     * @return: 更多人员详情信息
     **/
    @RequestMapping(value = "sysUser/getDetails")
    public List<SysUser> getDetails(@RequestBody SysUser sysUser);

}
